import java.util.*;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 23735
 * Date: 2022-11-27
 * Time: 23:23
 */
public class Solution {
    public List<List<String>> groupAnagrams(String[] strs) {
        //排过序的string作为key,对应要放的list作为value
        Map<String, List<String>> map=new HashMap<>();
        for(String str:strs){
            //将字符串进行排序
            char[] arr=str.toCharArray();
            Arrays.sort(arr);
            //注意这里不能使用arr.toString()
            //arr.toString()返回的是一个地址
            //并不是对应的字符串
            String key=new String(arr);
            List<String>list=map.getOrDefault(key,new ArrayList<String>());
            //原字符串放进对应的list
            list.add(str);
            map.put(key,list);
        }
        //map.values()返回存储value的集合
        return new ArrayList<List<String>>(map.values());
    }
}